simplexml - PHP simplexml 实体
全部标签 因此,当我对我的应用程序运行安全扫描时遇到了问题。ItturnsoutthatIamfailingtoprotectagainstXXE.这是一个显示有问题的代码的简短片段:staticvoidMain(){stringinp=Console.ReadLine();stringxmlStr="";//Thishasavaluethatismuchtoolongtoputintoasinglepostif(!string.IsNullOrEmpty(inp)){xmlStr=inp;}XmlDocumentxmlDocObj=newXmlDocument{XmlResolver=null
我正在尝试使用R和XML包加载一些公开可用的NHS数据,但我不断收到以下错误消息:Error:failedtoloadexternalentity"http://www.england.nhs.uk/statistics/statistical-work-areas/bed-availability-and-occupancy/"尽管查看了一些相关问题,但我似乎无法弄清楚是什么原因造成的。这是我非常简单的代码:library("XML")url编辑:session信息Rversion3.0.1(2013-05-16)Platform:i386-w64-mingw32/i386(32-b
我试图在不扩展实体的情况下读取XML文档,对其进行一些操作,然后像最初一样使用未扩展的实体重新保存它。当直接使用XDocument时,它加载失败,抛出异常告诉我它有未展开的实体:XDocumentdoc=XDocument.Load(file);//Exception:Referencetoundeclaredentity'entityname'.然后我尝试将XmlTextReader传递给XDocument构造函数,但是EntityHandling属性没有“不展开”:XmlTextReaderxmlReader=newXmlTextReader(file));xmlReader.En
如何让Builder不对“śćż”和其他此类字符进行编码。我想要的是在XML文档中逐字打印的“całość”。示例:xml.instruct!:xml,:version=>'1.0',:encoding=>'utf-8'xml.Trader(:'xmlns:xsi'=>"http://www.w3.org/2001/XMLSchema-instance",:'xmlns:xsd'=>"http://www.w3.org/2001/XMLSchema")doxml.Informacjedoxml.RodzajPaczki'całość'xml.Program'mine'xml.Wersj
在使用XSLT(2.0)转换XML时如何保留实体引用?对于我尝试过的所有处理器,默认情况下都会解析实体。我可以使用xsl:character-map来处理字符实体,但是文本实体呢?例如,这个XML:]>Hello&so;!&question;使用以下XSLT进行转换:产生以下输出:Hellostackoverflow!HowcanIpreservetheentityreferencewhentransformingwithXSLT??输出应该看起来像输入(现在减去doctype声明):Hello&so;!&question;我希望我不必通过用&替换所有符号来预处理输入(比如&quest
我正在尝试将XHTML文档加载到XDocument中,但我收到了“对未声明实体的引用”异常。我需要解决像®这样的实体和».我相信我的文档格式正确,这是头部:当我执行XDocument.Load()时是我抛出这些异常的时候。 最佳答案 这是msdn和博客帖子的协作。XDocumentdocument;using(varstringReader=newStringReader(output)){varsettings=newXmlReaderSettings{ProhibitDtd=false,XmlResolver
我试图在.NET(C#)中对字符串中的XML实体进行转义,但我似乎无法使其正常工作。例如,如果我有字符串AT&T,它应该被翻译成AT&T。一种方法是使用HttpUtility.HtmlDecode(),但那是针对HTML的。所以我有两个问题:使用HttpUtility.HtmlDecode()解码XML实体是否安全?如何使用XmlReader(或类似软件)执行此操作?我尝试了以下方法,但总是返回一个空字符串:staticstringReplaceEscapes(stringtext){StringReaderreader=newStringReader(text);XmlReaderS
我使用cURL以xml格式检索一些信息。....$xml=curl_exec($ch);$data=simplexml_load_string($xml);print_r($data);//output-SimpleXMLElementObject()如果我尝试-print_r($xml);并查看页面源代码我明白了Matt.SmithSmithMattmalematt@company.co.ukenASystemAdministrator8000OrganisationTitle20707LondonOffice0Unassigned0UnassignedUnassignedUnass
供应商稍微更改了XMLheader后发生了一件奇怪的事情。我曾经能够使用xpath阅读内容,但现在我什至无法通过获得回复$xml->xpath('/');他们改变了它...%nitf;]>...为此:... 最佳答案 这很可能是因为他们在文档中引入了默认namespace(xmlns="http://iptc.org/std/NewsML/2003-10-10/")。简单地说,SimpleXML对默认命名空间的支持不是很好。你能尝试显式注册一个命名空间前缀吗:$xml->registerXPathNamespace("n","htt
我需要能够在XML文档中引用命名的HTML实体,例如•而不是Unicode替代品•。我可以控制XML文档的某些部分,例如定义DOCTYPE,但是在实际的XML中执行查找和替换不是一个选项。通过包含XHTML过渡DOCTYPE,我可以获得一些元素,如 和&,但我需要手动定义更多元素。我该怎么做?--编辑--感谢Jim的回答,这就是我最终得到的结果。这很棒,因为我可以利用XHTML过渡实体,还可以添加我自己的实体:...etc...]> 最佳答案 如果您可以修改XML以包含内联DTD,您可以在那里定义实体:....]>